<template>
    <div class="wrapper">
			
			<!-- header部分 -->
			<header>
				<p>确认订单</p>
			</header>
			<!-- 订单信息部分 -->
			<div class="order-info" @click="userAddress">
				<h5>订单配送至：</h5>
				<div class="order-info-address">
					<p>{{da.address!=null?da.address:'请选择送货地址'}}</p>
					<i class="fa fa-angle-right"></i>
				</div>
				<p  v-show="da.contactSex != null">{{da.contactName}}{{da.contactSex|sexFilter}} {{da.contactTel}}</p>
			</div>
			
			
			<h3>{{businessName}}</h3>

			<!-- 订单明细部分 -->
			<ul class="order-detailed">
				<li v-for="item in orderArray" :key="item.foodId">
					<div class="order-detailed-left">
						<img :src="item.food.foodImg">
						<p>{{item.food.foodName}} x {{item.quantity}}</p>
					</div>
					<p>&#165;{{item.oneFoodPrice}}</p>
				</li>
			</ul>
			<div class="order-deliveryfee">
				<p>配送费</p>
				<p>&#165;{{deliveryPrice}}</p>
			</div>
			
			<!-- 合计部分 -->
			<div class="total">
				<div class="total-left">
					&#165;{{allMoney}}
				</div>
				<div class="total-right" @click="creatOrder">
					去支付
				</div>
			</div>
		</div>	
</template>

<script>
export default {
    data(){
        return {
			businessId:this.$route.query.businessId,
			daId:'',
			da:{},
			user:{},
			orderArray:[],
			allMoney:0,
			businessName:'',
			deliveryPrice:''
        }
    },
    created(){
		//查看SessionStorage中有没用user
		this.user = this.$getSessionStorage('user');
		//获取daid
		this.daId = this.$getSessionStorage('daId');
		if(this.daId!=null){
			//获取地址信息
			this.$axios.post('DeliveryAddressController/queryAddressByDaId',this.$qs.stringify({
				daId:this.daId
			})).then(response=>{
				console.log(response.data);
				this.da=response.data;
			}).catch(error=>{
				console.log(error);
			})
		}
		//从cart表中获取订单信息
		this.$axios.post('CartController/listCart',this.$qs.stringify({
			businessId:this.businessId,
			userId:this.user.userId
		})).then(response=>{
			this.orderArray=response.data;
			this.allMoney=this.orderArray[0].business.deliveryPrice;
			this.businessName=this.orderArray[0].business.businessName;
			this.deliveryPrice=this.orderArray[0].business.deliveryPrice
			//oneFoodPrice,单类商品的总价
			for(let i = 0;i<this.orderArray.length;i++){
				this.orderArray[i].oneFoodPrice = (this.orderArray[i].food.foodPrice * this.orderArray[i].quantity);
				this.allMoney+=this.orderArray[i].oneFoodPrice;
			}
		}).catch(error=>{
			console.log(error);
		})
	},
	methods:{
		userAddress(){
			this.$router.push({
			path:'/userAddress'
			})
		},
		creatOrder(){
			if(this.da.address !=null){
				this.$axios.post('OrderController/creatOrder',this.$qs.stringify({
					businessId:this.businessId,
					userId:this.user.userId,
					daId:this.daId,
				})).then(response=>{
					console.log(response.data);
					let orderId=response.data;
					if(orderId!=null){
						alert("感谢您的购买，请尽快完成支付")
						this.$router.push({
							path:'/payment',
							query:{orderId:orderId}
						})
					}else{
						alert("购买失败")
					}
				}).catch(error=>{
					console.log(error);
				})
			}else{
				alert("请选择收货地址")
			}
		}
	},
	filters:{
        sexFilter(value){
            return value==1?'先生':'女士';
        }
    }
}
</script>

<style scoped>
/****************** 总容器 ******************/
.wrapper{
	width: 100%;
	height: 100%;
}

/****************** header部分 ******************/
.wrapper header{
	width: 100%;
	height: 12vw;
	background-color: #0097FF;
	color: #fff;
	font-size: 4.8vw;
	
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
	
	display: flex;
	justify-content: center;
	align-items: center;
}

/****************** 订单信息部分 ******************/
.wrapper .order-info{
	/*注意这里，不设置高，靠内容撑开。因为地址有可能折行*/
	width: 100%;
	margin-top: 12vw;
	background-color: #0097EF;
	box-sizing: border-box;
	padding: 2vw;
	color: #fff;
}
.wrapper .order-info h5{
	font-size: 3vw;
	font-weight: 300;
}
.wrapper .order-info .order-info-address{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	
	font-weight: 700;
	user-select: none;
	cursor: pointer;
	margin: 1vw 0;
}
.wrapper .order-info .order-info-address p{
	width: 90%;
	font-size: 5vw;
}
.wrapper .order-info .order-info-address i{
	font-size: 6vw;
}
.wrapper .order-info p{
	font-size: 3vw;
}

.wrapper h3{
	box-sizing: border-box;
	padding: 3vw;
	font-size: 4vw;
	color: #666;
	border-bottom: solid 1px #DDD;
}

/****************** 订单明细部分 ******************/
.wrapper .order-detailed{
	width: 100%;
}
.wrapper .order-detailed li{
	width: 100%;
	height: 16vw;
	box-sizing: border-box;
	padding: 3vw;
	color: #666;
	
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.wrapper .order-detailed li .order-detailed-left{
	display: flex;
	align-items: center;
}
.wrapper .order-detailed li .order-detailed-left img{
	width: 10vw;
	height: 10vw;
}
.wrapper .order-detailed li .order-detailed-left p{
	font-size: 3.5vw;
	margin-left: 3vw;
}
.wrapper .order-detailed li p{
	font-size: 3.5vw;
}
.wrapper .order-deliveryfee{
	width: 100%;
	height: 16vw;
	box-sizing: border-box;
	padding: 3vw;
	color: #666;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 3.5vw;
}

/****************** 订单合计部分 ******************/
.wrapper .total{
	width: 100%;
	height: 14vw;
	
	position: fixed;
	left: 0;
	bottom: 0;
	
	display: flex;
}
.wrapper .total .total-left{
	flex: 2;
	background-color: #505051;
	color: #fff;
	font-size: 4.5vw;
	font-weight: 700;
	user-select: none;
	
	display: flex;
	justify-content: center;
	align-items: center;
}
.wrapper .total .total-right{
	flex: 1;
	background-color: #38CA73;
	color: #fff;
	font-size: 4.5vw;
	font-weight: 700;
	user-select: none;
	cursor: pointer;
	
	display: flex;
	justify-content: center;
	align-items: center;
}
</style>